package com.krtech.wecard.module.weixin.controller;

import cn.hutool.core.bean.BeanUtil;
import com.krtech.wecard.module.weixin.bean.WxDynamicMenu;
import com.krtech.wecard.module.weixin.pojo.WxDynamicMenuVo;
import com.krtech.wecard.module.weixin.pojo.WxMenuButtonVo;
import com.krtech.wecard.module.weixin.service.WxDynamicMenuService;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.bean.menu.WxMenu;
import me.chanjar.weixin.common.bean.menu.WxMenuButton;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.menu.WxMpGetSelfMenuInfoResult;
import me.chanjar.weixin.mp.bean.menu.WxMpMenu;
import org.springframework.web.bind.annotation.*;

import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author <a href="https://github.com/binarywang">Binary Wang</a>
 */
@AllArgsConstructor
@RestController
@RequestMapping("/wx/menuconfig/")
public class WxMenuPcController {

    private WxDynamicMenuService wxDynamicMenuService;

    /**
     * 增
     */
    @PostMapping("/add")
    @ApiOperation(value = "新增")
    public WxDynamicMenu add(@RequestBody WxDynamicMenu dynamicMenu){
        wxDynamicMenuService.save(dynamicMenu);
        return dynamicMenu;
    }


    @GetMapping("/getTree")
    @ApiOperation(value = "获得树")
    public List<WxDynamicMenuVo> getTree(){
        List<WxDynamicMenuVo> currentMenuToWxDynamicMenuTree = wxDynamicMenuService.getCurrentMenuToWxDynamicMenuTree();
        return currentMenuToWxDynamicMenuTree;
    }

    @PostMapping("/update")
    @ApiOperation(value = "改")
    public WxDynamicMenu update(@RequestBody WxDynamicMenu dynamicMenu){
        wxDynamicMenuService.updateById(dynamicMenu);
        return dynamicMenu;
    }

    @DeleteMapping("/delete")
    @ApiOperation(value = "删")
    public boolean update(Integer id){

        return wxDynamicMenuService.removeById(id);
    }
}
